package com.hyt.it.ogt.kq.service.gov.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hyt.it.ogt.kq.service.gov.model.vo.BreakRuleBehaviorVO;
import com.hyt.it.ogt.kq.service.gov.model.entity.BreakRuleBehavior;
import com.hyt.model.PageParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 违纪 Mapper 接口
 * </p>
 *
 * @author huangyh
 * @since 2021-03-08
 */
public interface BreakRuleBehaviorMapper extends BaseMapper<BreakRuleBehavior> {

    /**
     * 查询违纪行为和对应的违纪处理方法
     * @param taskId 考试任务id
     * @return 违纪行为和对应的违纪处理方法
     */
    List<BreakRuleBehaviorVO> selectBehavior(String taskId);

    /**
     * 更新违纪处理方法代码为空
     * @param schemeCodes 违纪处理方法代码
     * @param taskId 考试任务id
     * @return 是否成功
     */
    boolean updateSchemeCodeNull(@Param("schemeCodes")List<String> schemeCodes, @Param("taskId")String taskId);

    /**
     * 初始化参数--从机构拉取
     * @param taskId
     * @param officeId
     * @return
     */
    int initBreakRuleBehaviorFromOffice(String taskId,String officeId);

    /**
     * 查询分页
     * @param pageParam
     * @param taskId
     * @param key
     * @return
     */
    Page<BreakRuleBehaviorVO> selectPageBreakRuleBehavior(PageParam<BreakRuleBehaviorVO> pageParam, String taskId,
                                                          String key);
}
